package com.building.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
@author yinjiahui
@create 2021-04-07 19:22
*/
@ApiModel(value="com-building-entity-Engineering")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "material_engineering")
public class Engineering implements Serializable {
    /**
     * 项目编号         YJH
     */
    @TableId(value = "engineering_id", type = IdType.AUTO)
    @ApiModelProperty(value="项目编号（自增，不用写）",required = false,dataType = "Integer")
    private Integer engineeringId;

    /**
     * 项目名称
     */
    @TableField(value = "engineering_name")
    @ApiModelProperty(value="项目名称",required = false,dataType = "String")
    private String engineeringName;

    /**
     * 造价
     */
    @TableField(value = "engineering_price")
    @ApiModelProperty(value="造价",required = false,dataType = "BigDecimal")
    private BigDecimal engineeringPrice;

    /**
     * 项目类别
     */
    @TableField(value = "engineering_type_id")
    @ApiModelProperty(value="项目类别",required = false,dataType = "Integer")
    private Integer engineeringTypeId;

    /**
     * 项目阶段
     */
    @TableField(value = "engineering_stage_id")
    @ApiModelProperty(value="项目阶段",required = false,dataType = "Integer")
    private Integer engineeringStageId;

    /**
     * 更新时间
     */
    @TableField(value = "engineering_update_time")
    @ApiModelProperty(value="更新时间",required = false,dataType = "Date")
    private Date engineeringUpdateTime;

    /**
     * 
主体施工阶段
     */
    @TableField(value = "main_construction_stage")
    @ApiModelProperty(value=",主体施工阶段",required = false,dataType = "String")
    private String mainConstructionStage;

    /**
     * 项目规模(例如：普通规模)
     */
    @TableField(value = "engineering_scale")
    @ApiModelProperty(value="项目规模(例如：普通规模)",required = false,dataType = "String")
    private String engineeringScale;

    /**
     * 层数
     */
    @TableField(value = "number_of_layers")
    @ApiModelProperty(value="层数",required = false,dataType = "Integer")
    private Integer numberOfLayers;

    /**
     * 项目工期
     */
    @TableField(value = "engineering_construction_period")
    @ApiModelProperty(value="项目工期",required = false,dataType = "String")
    private String engineeringConstructionPeriod;

    /**
     * 项目描述
     */
    @TableField(value = "engineering_describe")
    @ApiModelProperty(value="项目描述",required = false,dataType = "String")
    private String engineeringDescribe;

    /**
     * 版本
     */
    @TableField(value = "engineering_edition")
    @ApiModelProperty(value="版本",required = false,dataType = "Integer")
    private Integer engineeringEdition;

    /**
     * 占地面积（平方米）
     */
    @TableField(value = "engineering_area_covered")
    @ApiModelProperty(value="占地面积（平方米）",required = false,dataType = "Double")
    private Double engineeringAreaCovered;

    /**
     * 子类别
     */
    @TableField(value = "engineering_subcategory")
    @ApiModelProperty(value="子类别",required = false,dataType = "String")
    private String engineeringSubcategory;

    /**
     * 总建筑面积（估算/平方米）
     */
    @TableField(value = "engineering_overall_floorage")
    @ApiModelProperty(value="总建筑面积（估算/平方米）",required = false,dataType = "Integer")
    private Integer engineeringOverallFloorage;

    /**
     * 主体设计阶段
     */
    @TableField(value = "main_body_design_stage")
    @ApiModelProperty(value="主体设计阶段",required = false,dataType = "String")
    private String mainBodyDesignStage;

    /**
     * 业主类型(0普通型 1精装型 2富有型)
     */
    @TableField(value = "owner_type")
    @ApiModelProperty(value="业主类型(0普通型 1精装型 2富有型)",required = false,dataType = "String")
    private String ownerType;

    /**
     * 装修（0精装修  1简装修）
     */
    @TableField(value = "engineering_renovation")
    @ApiModelProperty(value="装修（0精装修  1简装修）",required = false,dataType = "Integer")
    private Integer engineeringRenovation;

    /**
     * 总投资额（万元）
     */
    @TableField(value = "engineering_total_investment")
    @ApiModelProperty(value="总投资额（万元）",required = false,dataType = "BigDecimal")
    private BigDecimal engineeringTotalInvestment;

    /**
     * 各类别面积（平方米）
     */
    @TableField(value = "engineering_various_areas")
    @ApiModelProperty(value="各类别面积（平方米）",required = false,dataType = "String")
    private String engineeringVariousAreas;

    /**
     * 总造价（估算/万元）
     */
    @TableField(value = "engineering_total_cost")
    @ApiModelProperty(value="总造价（估算/万元）",required = false,dataType = "BigDecimal")
    private BigDecimal engineeringTotalCost;

    /**
     * 室内外装修阶段
     */
    @TableField(value = "indoor_and_outdoor_decoration_stage")
    @ApiModelProperty(value="室内外装修阶段",required = false,dataType = "String")
    private String indoorAndOutdoorDecorationStage;

    /**
     * 供暖方式		（0未确定  1已确定）
     */
    @TableField(value = "heating_mode")
    @ApiModelProperty(value="供暖方式		（0未确定  1已确定）",required = false,dataType = "Integer")
    private Integer heatingMode;

    /**
     * 空调需求		（0未确定  1已确定）
     */
    @TableField(value = "air_conditioning_demand")
    @ApiModelProperty(value="空调需求		（0未确定  1已确定）",required = false,dataType = "Integer")
    private Integer airConditioningDemand;

    /**
     * 钢结构需求	（0未确定  1已确定）
     */
    @TableField(value = "steel_structure_requirements")
    @ApiModelProperty(value="钢结构需求	（0未确定  1已确定）",required = false,dataType = "Integer")
    private Integer steelStructureRequirements;

    /**
     * 外资类型	（0非外资参与 1有外资参与）
     */
    @TableField(value = "types_of_foreign_investment")
    @ApiModelProperty(value="外资类型	（0非外资参与 1有外资参与）",required = false,dataType = "Integer")
    private Integer typesOfForeignInvestment;

    /**
     * 外墙材料	（0未确定  1已确定）
     */
    @TableField(value = "exterior_wall_material")
    @ApiModelProperty(value="外墙材料	（0未确定  1已确定）",required = false,dataType = "Integer")
    private Integer exteriorWallMaterial;

    /**
     * 电梯需求	（0未确定  1已确定）
     */
    @TableField(value = "elevator_demand")
    @ApiModelProperty(value="电梯需求	（0未确定  1已确定）",required = false,dataType = "Integer")
    private Integer elevatorDemand;

    /**
     * 逻辑删除 0 否 1 是 
     */
    @TableField(value = "is_del")
    @ApiModelProperty(hidden = true)
    private Integer isDel;

    /**
     * 创建时间
     */
    @TableField(value = "create_date")
    @ApiModelProperty(hidden = true)
    private Date createDate;

    /**
     * 修改时间
     */
    @TableField(value = "update_date")
    @ApiModelProperty(hidden = true)
    private Date updateDate;


    /**
     *项目工程阶段name
     */
//    @TableField(exist = false)
//    @ApiModelProperty(hidden = true)
//    private String engineeringStageName;





    private static final long serialVersionUID = 1L;
}